/**
 * @file
 * @author Filipe Mutz
 *
 * @section DESCRIPTION
 *
 */
#include "image.h"
#include "distribution.h"
#include "receptive_field.h"

using namespace brain::image;
using namespace brain::distribution;
using namespace brain::receptive_field;

int main(void)
{
	GrayscaleImage img;
	img.read((char *) "lena.jpg");

	Point center;

	center.push_back(img.height() / 2);
	center.push_back(img.width() / 2);

	GaussianDistribution distribution_generator(center, 10);
	vector<Point> distribution = distribution_generator.generate(512);

	VisualReceptiveField receptive_field;
	vector<int> pattern = receptive_field.generate_neuron_input(pair<GrayscaleImage*, vector<Point>* >(&img, &distribution));

	for(unsigned int i = 0; i < pattern.size(); i++)
		printf("%d ", pattern[i]);

	printf("\n\n");

	for(unsigned int i = 0; i < distribution.size(); i++)
		img.draw_point(distribution[i][0], distribution[i][1]);

	img.show();
	return 1;
}



